package 第十一章方法覆盖;

/*
 * 关于java语言中方法的覆盖
 *   1、方法覆盖又被称为方法重写，英语为override/overwrite
 *
 *   2、什么时候使用方法重写
 *       当父类中的方法已经无法满足子类的业务要求
 *       子类有必要将父类中继承的方法进行重写，这个过程叫做重写
 *
 *   3、代码满足什么条件会发生重写？
 *       方法重写发生在具有继承关系的父子类中
 *       方法名相同，返回值类型相同，形参列表相同
 *       访问权限不能更低，可以更高
 *       抛出异常可以更多，不能更少
 *
 *   4、建议方法重写时复制粘贴
 *
 * 方法的重载
 *   1、方法重载称为overlaod
 *
 *   2、何时使用
 *       在同一个类中，方法完成的功能是相似的，建议方法名相同，便于编程，代码美观
 *   3、方法重载要满足什么条件
 *       在同一个类中
 *       方法名相同
 *       参数列表不同：类型、顺序、个数
 *
 *   4、方法重载和什么无关
 *       和返回值无关
 *       和修饰符无关
 *
 *   5、注意
 *       私有方法不能继承，所以不能覆盖
 *       构造方法不能继承。所以不能覆盖
 *       静态方法不存在覆盖
 *       覆盖只针对方法，不谈属性
 * */
public class OverrideTest01 {
    public static void main(String[] args) {
        Animal a = new Animal();
        a.move();

        cat c = new cat();
        c.move();
        bird b = new bird();
        b.move();
        麻雀 d = new 麻雀();
        d.move();       //麻雀继承的是bird的方法，
    }

}

